package network;

import java.util.logging.Level;
import java.util.logging.Logger;

public class Demux implements Runnable {

	String msg = null;

	public void handleMessage(String msg) {
		String[] splitMessage = msg.split(":");
		if (splitMessage[0].equalsIgnoreCase("ALL")
				|| splitMessage[0].equals(NetworkLayer.myID)) {
			NetworkLayer.receive(msg);
		}

	}

	public void run() {
		System.err.println("Starting the demultiplexer");
		while (true) {
			msg = NetworkLayer.link.receive();
			if (msg != null) {
				// System.out.println(msg);
				handleMessage(msg);
				try {
					// Sleep for milliseconds
					Thread.sleep(1);
				} catch (InterruptedException ex) {
					Logger.getLogger(Demux.class.getName()).log(Level.SEVERE,
							null, ex);
				}
			}
		}
	}
}
